Important: libvirt security and bug fix update

Related Vulnerabilities: CVE-2013-4311   CVE-2013-4296   CVE-2013-4311   CVE-2013-4296  

Synopsis

Important: libvirt security and bug fix update

Type/Severity

Security Advisory: Important

Topic

Updated libvirt packages that fix two security issues and several bugs are
now available for Red Hat Enterprise Linux 6.

The Red Hat Security Response Team has rated this update as having
important security impact. Common Vulnerability Scoring System (CVSS) base
scores, which give detailed severity ratings, are available for each
vulnerability from the CVE links in the References section.

Description

The libvirt library is a C API for managing and interacting with the
virtualization capabilities of Linux and other operating systems. In
addition, libvirt provides tools for remote management of virtualized
systems.

libvirt invokes the PolicyKit pkcheck utility to handle authorization. A
race condition was found in the way libvirt used this utility, allowing a
local user to bypass intended PolicyKit authorizations or execute arbitrary
commands with root privileges. (CVE-2013-4311)

Note: With this update, libvirt has been rebuilt to communicate with
PolicyKit via a different API that is not vulnerable to the race condition.
The polkit RHSA-2013:1270 advisory must also be installed to fix the
CVE-2013-4311 issue.

An invalid free flaw was found in libvirtd's
remoteDispatchDomainMemoryStats function. An attacker able to establish a
read-only connection to libvirtd could use this flaw to crash libvirtd.
(CVE-2013-4296)

The CVE-2013-4296 issue was discovered by Daniel P. Berrange of Red Hat.

This update also fixes the following bugs:

  • Prior to this update, the libvirtd daemon leaked memory in the
    virCgroupMoveTask() function. A fix has been provided which prevents
    libvirtd from incorrect management of memory allocations. (BZ#984556)
  • Previously, the libvirtd daemon was accessing one byte before the array
    in the virCgroupGetValueStr() function. This bug has been fixed and
    libvirtd now stays within the array bounds. (BZ#984561)
  • When migrating, libvirtd leaked the migration URI (Uniform Resource
    Identifier) on destination. A patch has been provided to fix this bug and
    the migration URI is now freed correctly. (BZ#984578)
  • Updating a network interface using virDomainUpdateDeviceFlags API failed
    when a boot order was set for that interface. The update failed even if the
    boot order was set in the provided device XML. The
    virDomainUpdateDeviceFlags API has been fixed to correctly parse the boot
    order specification from the provided device XML and updating network
    interfaces with boot orders now works as expected. (BZ#1003934)

Users of libvirt are advised to upgrade to these updated packages, which
contain backported patches to correct these issues. After installing the
updated packages, libvirtd will be restarted automatically.

Solution

Before applying this update, make sure all previously released errata
relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
https://access.redhat.com/site/articles/11258

Affected Products

  • Red Hat Enterprise Linux Server 6 x86_64
  • Red Hat Enterprise Linux Server 6 i386
  • Red Hat Enterprise Linux Server - Extended Update Support 6.4 x86_64
  • Red Hat Enterprise Linux Server - Extended Update Support 6.4 i386
  • Red Hat Enterprise Linux Workstation 6 x86_64
  • Red Hat Enterprise Linux Desktop 6 x86_64
  • Red Hat Enterprise Linux Desktop 6 i386
  • Red Hat Enterprise Linux for IBM z Systems 6 s390x
  • Red Hat Enterprise Linux for IBM z Systems - Extended Update Support 6.4 s390x
  • Red Hat Enterprise Linux for Power, big endian 6 ppc64
  • Red Hat Enterprise Linux for Power, big endian - Extended Update Support 6.4 ppc64
  • Red Hat Enterprise Linux for Scientific Computing 6 x86_64
  • Red Hat Enterprise Linux Server from RHUI 6 x86_64
  • Red Hat Enterprise Linux Server from RHUI 6 i386
  • Red Hat Virtualization 3 for RHEL 6 x86_64
  • Red Hat Enterprise Linux Server - Extended Update Support from RHUI 6.4 x86_64
  • Red Hat Enterprise Linux Server - Extended Update Support from RHUI 6.4 i386
  • Red Hat Gluster Storage Server for On-premise 2.1 x86_64
  • Red Hat Storage for Public Cloud (via RHUI) 2.1 x86_64
  • Red Hat Enterprise Linux EUS Compute Node 6.4 x86_64
  • Red Hat Enterprise Linux Server - AUS 6.4 x86_64
  • Red Hat Enterprise Linux Workstation 6 i386

Fixes

  • BZ - 984556 - libvirtd leaks memory in virCgroupMoveTask
  • BZ - 984561 - valgrind shows an off-by-one error in virCgroupGetValueStr
  • BZ - 984578 - libvirtd leaks URI on destination when migrating
  • BZ - 1003934 - vmUpdateDevice fails when nic has boot order set
  • BZ - 1005332 - CVE-2013-4311 libvirt: insecure calling of polkit
  • BZ - 1006173 - CVE-2013-4296 libvirt: invalid free in remoteDispatchDomainMemoryStats

CVEs

References